package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.labdata.domain.LabFile;
import com.ruoyi.labdata.domain.LabFlowInstance;
import com.ruoyi.labdata.domain.LabRepairedDevice;

/**
 * 单据对象 lab_receipt_form
 * 
 * @author malang
 * @date 2022-02-07
 */
public class ReceiptForm extends LabFlowInstance {
	private static final long serialVersionUID = 1L;
	/**
	 * 料单维修业务类型.
	 */
	private static final String businessTypeOpt = "materialRepairApplication";
	
	public ReceiptForm(){
		super.setBusinessTypeOpt(businessTypeOpt);
	}
	
	private LabRepairedDevice  repairedDevice;
	
	public LabRepairedDevice getRepairedDevice() {
		return repairedDevice;
	}

	public void setRepairedDevice(LabRepairedDevice repairedDevice) {
		this.repairedDevice = repairedDevice;
	}

	private List<LabFile> images;
	
	//明细
    private List<LabReceiptDetails>  detailsList;
    
    
	public List<LabReceiptDetails> getDetailsList() {
		return detailsList;
	}

	public void setDetailsList(List<LabReceiptDetails> detailsList) {
		this.detailsList = detailsList;
	}

	public List<LabFile> getImages() {
		return images;
	}

	public void setImages(List<LabFile> images) {
		this.images = images;
	}

	private String comments;

	public String getComments() {
		return comments;
	}

	public void setComments(String comments) {
		this.comments = comments;
	}

	/** 料单类型 */
	@Excel(name = "料单类型")
	private Long receiptTypeOpt;

	/** 学院 */
	@Excel(name = "学院")
	private Long collegeOrgId;
	private String collegeOrgName;
	
	public String getCollegeOrgName() {
		return collegeOrgName;
	}

	public void setCollegeOrgName(String collegeOrgName) {
		this.collegeOrgName = collegeOrgName;
	}

	/** 经费项目 */
	@Excel(name = "经费项目")
	private String fundsItem;

	/** 资产名称 */
	@Excel(name = "资产名称")
	private String assetName;

	/** 购置日期 */
	@JsonFormat(pattern = "yyyy-MM-dd")
	@Excel(name = "购置日期", width = 30, dateFormat = "yyyy-MM-dd")
	private Date purchaseDate;

	/** 规格 */
	@Excel(name = "规格")
	private String specs;

	/** 单价(元) */
	@Excel(name = "单价(元)")
	private BigDecimal unitPrice;

	/** 总价(元) */
	@Excel(name = "总价(元)")
	private BigDecimal totalPrice;

	/** 凭证类型 */
	@Excel(name = "凭证类型")
	private Long evidenceTypeOpt;

	/** 收料人员 */
	@Excel(name = "收料人员")
	private String receiptorId;

	/** 经办人员 */
	@Excel(name = "经办人员")
	private String handlingUserId;

	/** 发票 */
	@Excel(name = "发票")
	private Long invoiceFileId;

	/** 料单价格 */
	@Excel(name = "料单价格")
	private String materialPrice;

	/** 实验室 */
	@Excel(name = "实验室")
	private Long labId;
	private String labName;
	
	public String getLabName() {
		return labName;
	}

	public void setLabName(String labName) {
		this.labName = labName;
	}

	/** 填单日期 */
	@JsonFormat(pattern = "yyyy-MM-dd")
	@Excel(name = "填单日期", width = 30, dateFormat = "yyyy-MM-dd")
	private Date fillDate;

	/** 使用方向 */
	@Excel(name = "使用方向")
	private String expectUseOpt;

	/** 型号 */
	@Excel(name = "型号")
	private String model;

	/** 厂家 */
	@Excel(name = "厂家")
	private String manufactor;

	/** 数量 */
	@Excel(name = "数量")
	private String quantity;
	

	/** 原始凭证 */
	@Excel(name = "原始凭证")
	private String originalVoucher;

	/** 凭证编号 */
	@Excel(name = "凭证编号")
	private String voucherNo;

	/** 联系人 */
	@Excel(name = "联系人")
	private String contactUser;

	public String getNickName() {
		return nickName;
	}

	public void setNickName(String nickName) {
		this.nickName = nickName;
	}

	/** 联系人姓名 */
	@Excel(name = "联系人姓名")
	private String nickName;

	/** 联系电话 */
	@Excel(name = "联系电话")
	private String contactMobile;

	public void setStatus(String status) {
		this.status = status;
	}

	public String getStatus() {
		return status;
	}

	/** 审批状态 */
	@Excel(name = "审批状态")
	private String status;
	
	private String applicationNo;
	

	public String getApplicationNo() {
		return applicationNo;
	}

	public void setApplicationNo(String applicationNo) {
		this.applicationNo = applicationNo;
	}

	public void setReceiptTypeOpt(Long receiptTypeOpt) {
		this.receiptTypeOpt = receiptTypeOpt;
	}

	public Long getReceiptTypeOpt() {
		return receiptTypeOpt;
	}

	public void setCollegeOrgId(Long collegeOrgId) {
		this.collegeOrgId = collegeOrgId;
	}

	public Long getCollegeOrgId() {
		return collegeOrgId;
	}

	public void setFundsItem(String fundsItem) {
		this.fundsItem = fundsItem;
	}

	public String getFundsItem() {
		return fundsItem;
	}

	public void setAssetName(String assetName) {
		this.assetName = assetName;
	}

	public String getAssetName() {
		return assetName;
	}

	public void setPurchaseDate(Date purchaseDate) {
		this.purchaseDate = purchaseDate;
	}

	public Date getPurchaseDate() {
		return purchaseDate;
	}

	public void setSpecs(String specs) {
		this.specs = specs;
	}

	public String getSpecs() {
		return specs;
	}

	public void setUnitPrice(BigDecimal unitPrice) {
		this.unitPrice = unitPrice;
	}

	public BigDecimal getUnitPrice() {
		return unitPrice;
	}

	public void setTotalPrice(BigDecimal totalPrice) {
		this.totalPrice = totalPrice;
	}

	public BigDecimal getTotalPrice() {
		return totalPrice;
	}

	public void setEvidenceTypeOpt(Long evidenceTypeOpt) {
		this.evidenceTypeOpt = evidenceTypeOpt;
	}

	public Long getEvidenceTypeOpt() {
		return evidenceTypeOpt;
	}

	public void setReceiptorId(String receiptorId) {
		this.receiptorId = receiptorId;
	}

	public String getReceiptorId() {
		return receiptorId;
	}

	public void setHandlingUserId(String handlingUserId) {
		this.handlingUserId = handlingUserId;
	}

	public String getHandlingUserId() {
		return handlingUserId;
	}

	public void setInvoiceFileId(Long invoiceFileId) {
		this.invoiceFileId = invoiceFileId;
	}

	public Long getInvoiceFileId() {
		return invoiceFileId;
	}

	public void setMaterialPrice(String materialPrice) {
		this.materialPrice = materialPrice;
	}

	public String getMaterialPrice() {
		return materialPrice;
	}

	public void setLabId(Long labId) {
		this.labId = labId;
	}

	public Long getLabId() {
		return labId;
	}

	public void setFillDate(Date fillDate) {
		this.fillDate = fillDate;
	}

	public Date getFillDate() {
		return fillDate;
	}

	public void setExpectUseOpt(String expectUseOpt) {
		this.expectUseOpt = expectUseOpt;
	}

	public String getExpectUseOpt() {
		return expectUseOpt;
	}

	public void setModel(String model) {
		this.model = model;
	}

	public String getModel() {
		return model;
	}

	public void setManufactor(String manufactor) {
		this.manufactor = manufactor;
	}

	public String getManufactor() {
		return manufactor;
	}

	public void setQuantity(String quantity) {
		this.quantity = quantity;
	}

	public String getQuantity() {
		return quantity;
	}

	public void setOriginalVoucher(String originalVoucher) {
		this.originalVoucher = originalVoucher;
	}

	public String getOriginalVoucher() {
		return originalVoucher;
	}

	public void setVoucherNo(String voucherNo) {
		this.voucherNo = voucherNo;
	}

	public String getVoucherNo() {
		return voucherNo;
	}

	public void setContactUser(String contactUser) {
		this.contactUser = contactUser;
	}

	public String getContactUser() {
		return contactUser;
	}

	public void setContactMobile(String contactMobile) {
		this.contactMobile = contactMobile;
	}

	public String getContactMobile() {
		return contactMobile;
	}

	@Override
	public String toString() {
		return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("instanceId", this.getInstanceId())
				.append("createTime", getCreateTime()).append("flowName", getFlowName())
				.append("receiptTypeOpt", getReceiptTypeOpt()).append("collegeOrgId", getCollegeOrgId())
				.append("fundsItem", getFundsItem()).append("assetName", getAssetName())
				.append("purchaseDate", getPurchaseDate()).append("specs", getSpecs())
				.append("unitPrice", getUnitPrice()).append("totalPrice", getTotalPrice())
				.append("evidenceTypeOpt", getEvidenceTypeOpt()).append("receiptorId", getReceiptorId())
				.append("handlingUserId", getHandlingUserId()).append("invoiceFileId", getInvoiceFileId())
				.append("materialPrice", getMaterialPrice()).append("labId", getLabId())
				.append("fillDate", getFillDate()).append("expectUseOpt", getExpectUseOpt()).append("model", getModel())
				.append("manufactor", getManufactor()).append("quantity", getQuantity())
				.append("originalVoucher", getOriginalVoucher()).append("voucherNo", getVoucherNo())
				.append("contactUser", getContactUser()).append("contactMobile", getContactMobile())
				.append("nickName", getNickName()).toString();
	}
}
